/*
 * Copyright 2018-10-18 13:38:09 The JA-SIG Collaborative. All rights reserved.
 * distributed with thi file and available online at
 */
package com.lap.scp.erp.domain;

import java.util.Date;

import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import org.springframework.format.annotation.DateTimeFormat;

import com.lap.scd.commons.domain.IntegerDO;

/**
 * <pre>
 *  记录物料入库信息，其中一些通用字段在ModelDO和BaseDO里面，该对象基本上只用于数据保存使用。
 *   对应的表名：purchase_orders
 *
 *	如果说界面业务复杂，有特别需要，需要在额外定义Bean对象来接收界面数据。
 * </pre>
 * 
 * @author 劳水生 Exp
 * @Date 2018-10-18 13:38:09
 * @since 2.0.0
 */
public class PurchaseOrdersDO extends IntegerDO {
	private static final long serialVersionUID = 478495607187018134L;
	/**
	 * <pre>
	 * 数据库字段:
	 * 	suppiler_id
	 * 备注:
	 *  关联供应商表;字段的长度:11,是否必填:否。
	 * </pre>
	 */
	private Integer suppilerId;
	/**
	 * <pre>
	 * 数据库字段:
	 * 	materiel_id
	 * 备注:
	 *  物料ID;字段的长度:11,是否必填:是。
	 * </pre>
	 */
	private Integer materielId;
	/**
	 * <pre>
	 * 数据库字段:
	 * 	materiel_detail_id
	 * 备注:
	 *  物料明细ID;字段的长度:11,是否必填:是。
	 * </pre>
	 */
	private Integer materielDetailId;
	/**
	 * <pre>
	 * 数据库字段:
	 * 	purchase_date
	 * 备注:
	 *  入库时间
	 * </pre>
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date purchaseDate;
	/**
	 * <pre>
	 * 数据库字段:
	 * 	materiel_name
	 * 备注:
	 *  物料名称;字段的长度:128,是否必填:否。
	 * </pre>
	 */
	private String materielName;
	/**
	 * <pre>
	 * 数据库字段:
	 * 	materiel_spec
	 * 备注:
	 *  物料规格;字段的长度:64,是否必填:否。
	 * </pre>
	 */
	private String materielSpec;
	/**
	 * <pre>
	 * 数据库字段:
	 * 	quantity
	 * 备注:
	 *  数量;字段的长度:11,是否必填:是。
	 * </pre>
	 */
	private Integer quantity;
	/**
	 * <pre>
	 * 数据库字段:
	 * 	unit_price
	 * 备注:
	 *  单价;字段的长度:11,是否必填:是。
	 * </pre>
	 */
	private Integer unitPrice;
	/**
	 * <pre>
	 * 数据库字段:
	 * 	remark
	 * 备注:
	 *  备注;字段的长度:512,是否必填:否。
	 * </pre>
	 */
	private String remark;

	/**
	 * @param suppilerId
	 */
	public void setSuppilerId(Integer suppilerId) {
		this.suppilerId = suppilerId;
	}

	/**
	 * @return 关联供应商表
	 */
	public Integer getSuppilerId() {
		return suppilerId;
	}

	/**
	 * @param materielId
	 */
	public void setMaterielId(Integer materielId) {
		this.materielId = materielId;
	}

	/**
	 * @return 物料ID
	 */
	public Integer getMaterielId() {
		return materielId;
	}

	/**
	 * @param materielDetailId
	 */
	public void setMaterielDetailId(Integer materielDetailId) {
		this.materielDetailId = materielDetailId;
	}

	/**
	 * @return 物料明细ID
	 */
	public Integer getMaterielDetailId() {
		return materielDetailId;
	}

	/**
	 * @return 入库时间
	 */
	public Date getPurchaseDate() {
		return purchaseDate;
	}

	/**
	 * 入库时间
	 * 
	 * @param purchaseDate
	 */
	public void setPurchaseDate(Date purchaseDate) {
		this.purchaseDate = purchaseDate;
	}

	/**
	 * @param materielName
	 */
	public void setMaterielName(String materielName) {
		this.materielName = materielName;
	}

	/**
	 * @return 物料名称
	 */
	public String getMaterielName() {
		return materielName;
	}

	/**
	 * @param materielSpec
	 */
	public void setMaterielSpec(String materielSpec) {
		this.materielSpec = materielSpec;
	}

	/**
	 * @return 物料规则
	 */
	public String getMaterielSpec() {
		return materielSpec;
	}

	/**
	 * @param quantity
	 */
	public void setQuantity(Integer quantity) {
		this.quantity = quantity;
	}

	/**
	 * @return 数量
	 */
	public Integer getQuantity() {
		return quantity;
	}

	/**
	 * @param unitPrice
	 */
	public void setUnitPrice(Integer unitPrice) {
		this.unitPrice = unitPrice;
	}

	/**
	 * @return 单价
	 */
	public Integer getUnitPrice() {
		return unitPrice;
	}

	/**
	 * @param remark
	 */
	public void setRemark(String remark) {
		this.remark = remark;
	}

	/**
	 * @return 备注
	 */
	public String getRemark() {
		return remark;
	}

	@Override
	public String toString() {
		return ReflectionToStringBuilder.toString(this);
	}

}
